package com.huida.app.hutoolsusage;

import lombok.Data;
import org.junit.Test;
import org.springframework.boot.test.context.SpringBootTest;

/**
 * @author wangzhuangzhuang
 * @DESC: 空检查属性获取-OptionalBean
 * @date 2022-01-11 10:30
 */
@Data
class User {
	private String name;
	private String gender;
	private School school;

	@Data
	public static class School {
		private String name;
		private String address;
	}
}

@SpringBootTest
public class OptionalBeanUsageDemo {

	/*
	 * 在嵌套对象的属性获取中，由于子对象无法得知是否为null，
	 * 每次获取属性都要检查属性兑现是否为null，使得代码会变得特备臃肿，
	 * 因此使用OptionalBean来优雅的链式获取属性对象值。
	 * */
	@Test
	public void test01() {
		User user = new User();
		user.setName("hello");
	}

}